package leetcode.interviewClassics;

import java.util.HashSet;

/**
 * @author Cheng Jun
 * Description: 给定一个包含大写字母和小写字母的字符串，找到通过这些字母构造成的最长的回文串。
 * <p>
 * 在构造过程中，请注意区分大小写。比如 "Aa" 不能当做一个回文字符串。
 * https://leetcode-cn.com/problems/longest-palindrome/
 * @version 1.0
 * @date 2021/11/10 10:59
 */
public class longestPalindrome {

    public static void main(String[] args) {

    }

    static int longestPalindrome(String s) {
        HashSet<Character> set = new HashSet<>();
        int length = 0;
        for (char c : s.toCharArray()) {
            if (set.contains(c)) {
                set.remove(c);
                length += 2;
            } else {
                set.add(c);
            }
        }
        if (set.isEmpty()) {
            return length;
        } else {
            return ++length;
        }
    }
}
